This invention relates to a method of operating a bus master on a field bus on the basis of the master/slave principle and more particularly to the operation of such a bus in the event of a fault.
Field buses based on the master/slave principle are used for communication between automated systems and field devices for controlling an industrial process. A number of such field buses have been standardized to allow devices made by different manufacturers to communicate with one another. One protocol for operating such a bus is known as the PROFIBUS(trademark) protocol.
In a field bus based on the master/slave principle, a bus master is allocated at least one slave, but usually a number of slaves. When such a field bus is initialized, the bus master attempts to contact each of these slaves on the field bus by means of cyclic inquiry. Each slave contacted in this way is initialized and parameterized, so that it is then possible for data interchange with the bus master to start.
During this initialization of the field bus, all the outputs of all the slaves are firstly reset, as in the PROFIBUS(trademark) protocol. For safety reasons, this procedure is stipulated in Standard EN 50170.
If during continuous operation a fault occurs in the bus master that imposes reinitialization of the field bus, the preinitialized outputs of the slaves are reset anyway. This resetting results in equipment and devices connected to these outputs adopting undesirable operating states which cause the controlled industrial process to come to a standstill.
For safety reasons, the slaves are themselves designed to reset their outputs automatically after a predetermined time, known as the communication-free time, has elapsed with no communication. This procedure also causes the controlled industrial process to come to a standstill.
The present invention provides a method of operating a bus master on a field bus based on the master/slave principle, which, in the event of a fault, makes it possible to reinitialize the bus master within a predefined time, to start communication between the bus master and the slaves again, and in so doing to prevent the preinitialized outputs of the connected slaves from being reset.
A method of operating a bus master on a field bus in the event of a fault. The field bus has at least one slave connected to it. The bus master runs a separate state table for each connected slave, which stores the operating state of each connected slave. Each state table is deleted when initialization takes place for the first time. The method has the steps of:
a. assuming upon the fault event that full bootstrap initialization has taken place for each connected slave; and
b. reinitializing upon the fault event the bus master such that a check is run to ascertain whether full bootstrap initialization has taken place for each connected slave, and, if it has, the content of each state table is retained in unmodified form, and, if it has not, the state table for the slave that was not fully initialized is deleted and bootstrap initialization is imposed on the not fully initialized slave.
A method for operating a bus master on a field bus. The bus master has one or more slaves connected to it and the field bus. The method comprises:
a. assuming upon the occurrence of a fault that full bootstrap initialization has taken place for each of the one or more slaves;
b. reinitializing the bus master upon the fault occurrence such that a check is run to ascertain whether full bootstrap initialization has taken place for each of the one or more slaves;
c. retaining the content of a state table in the bus master for each of the one or more slaves for which full bootstrap initialization has taken place; and
d. deleting the state table content for each of the one or more slaves for which full bootstrap initialization has not taken place and imposing full bootstrap initialization on the not fully initialized slaves.
A system that has:
a. a bus master;
b. one or more slaves, the bus master having a state table having contents for each of the one or more slaves;
c. a field bus connecting the one or more slaves to the bus master;
the bus master assuming that upon the occurrence of a fault full bootstrap initialization has taken place for each of the one or more slaves;
the bus master reinitialized upon the fault occurrence such that a check is run to ascertain whether full bootstrap initialization has taken place for each of the one or more slaves;
the bus master retaining the state table contents for each of the one or more slaves for which full bootstrap initialization has taken place; and
the bus master deleting the state table contents for each of the one or more slaves for which full bootstrap initialization has not taken place and imposing full bootstrap initialization on the not fully initialized slaves.